﻿Imports BUS
Imports DTO


Public Class MH_TraCuuHocSinh

    Private Sub btnDong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDong.Click
        Me.Close()
    End Sub

    Private Sub btnTim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTim.Click
        'Kiểm tra nhâp liệu
        Dim tenhs As String = txtHoTen.Text.Trim()
        If tenhs = "" Then
            MessageBox.Show("Chưa nhập tên để tìm kiếm.")
            Exit Sub
        End If

        Dim hsBUS As New HocSinhBUS
        Dim dsHS As New List(Of HocSinhDTO)
        dsHS = hsBUS.TimKiemTheoTen(tenhs)

        dgvDanhSach.Rows.Clear()
        For i As Integer = 0 To dsHS.Count - 1

            'Tính điểm TB HK 1
            Dim strSQL As String = "SELECT ((CHITIETDIEM.Diem15P+CHITIETDIEM.Diem1T*2)+CHITIETDIEM.DiemHK)/3 AS TBM "
            strSQL = strSQL + " FROM DIEMMONHOC INNER JOIN CHITIETDIEM ON DIEMMONHOC.MaDiemMonHoc = CHITIETDIEM.MaDiemMonHoc "
            strSQL = strSQL + " WHERE CHITIETDIEM.MaHocSinh=" + (dsHS(i).MaHocSinh).ToString() + " AND DIEMMONHOC.MaHocKy=1 "
            Dim tvcBUS As New ThuVienChungBUS
            Dim dt As DataTable = tvcBUS.LayBang(strSQL)
            'bảng này chứ điểm trug bình của các môn hoc sinh này đã học
            'giờ duyệt các dòng để tính ra trung bình học kỳ 1
            Dim tong_diem_TBM As Double = 0
            For Each row As DataRow In dt.Rows
                tong_diem_TBM = tong_diem_TBM + Double.Parse(row("TBM"))
            Next
            Dim TBHK_1 As Double
            If dt.Rows.Count = 0 Then
                TBHK_1 = 0
            Else
                TBHK_1 = Math.Round(tong_diem_TBM / dt.Rows.Count, 2)
            End If

            'Tính điểm TB HK 2
            strSQL = "SELECT ((CHITIETDIEM.Diem15P+CHITIETDIEM.Diem1T*2)+CHITIETDIEM.DiemHK)/3 AS TBM "
            strSQL = strSQL + " FROM DIEMMONHOC INNER JOIN CHITIETDIEM ON DIEMMONHOC.MaDiemMonHoc = CHITIETDIEM.MaDiemMonHoc "
            strSQL = strSQL + " WHERE CHITIETDIEM.MaHocSinh=" + (dsHS(i).MaHocSinh).ToString() + " AND DIEMMONHOC.MaHocKy=2 "
            dt = tvcBUS.LayBang(strSQL)
            'bảng này chứ điểm trug bình của các môn hoc sinh này đã học
            'giờ duyệt các dòng để tính ra trung bình học kỳ 2
            tong_diem_TBM = 0
            For Each row As DataRow In dt.Rows
                tong_diem_TBM = tong_diem_TBM + Double.Parse(row("TBM"))
            Next
            Dim TBHK_2 As Double
            If dt.Rows.Count = 0 Then
                TBHK_2 = 0
            Else
                TBHK_2 = Math.Round(tong_diem_TBM / dt.Rows.Count, 2)
            End If

            'Ten lop
            Dim tenlop As String = ThuVienChungBUS.LayTenLop(dsHS(i).MaLop)

            'Add 1 dong thong tin vao GridVIew
            dgvDanhSach.Rows.Add(i + 1, dsHS(i).HoTen, tenlop, TBHK_1, TBHK_2)
        Next

    End Sub
End Class